In recent years, government and municipal offices, companies and the like have widely constructed a large scale database system to manage enormous volumes of data generated with various operations. The usage of such database also has been diversified, including a general business database as well as a workflow management system of recording plans and actual achievement of an operation so as to manage the progress of a project, for example. A database system further has been utilized to realize a traceability system of recording various types of operation histories of manufacturing, shipping and transaction, thus enabling the prompt access to the information if required.
For the above-stated usage for the workflow management and traceability, there is a demand to generate a certain action in response to a status change in the database (insert, update, or delete), for example. For the workflow management use, for example, there is a demand to generate a new operation followed in response to the completion of one operation. For the traceability use, to keep up with the database state changing momentarily, there is a demand to display an alert in response to the registered event generation. There is another demand for a client GUI (Graphical User Interface) application, which is for displaying in response to a database status, to reflect a status change promptly.
In association with the above-stated actions conducted in response to a status change in a database, a conventional database management system (DBMS) is equipped with a trigger function that invokes processing designated beforehand in response to a status update of the database registered beforehand (insert, update, or delete). This function is used for processing of reflecting a change made to one of a plurality of databases and tables, having contents operatively associated with each other, on the other databases and tables.
FIG. 12 illustrates an exemplary sentence of a statement using the trigger function. FIG. 12A illustrates an exemplary sentence of a statement defining, when a record is added to an EMPLOYEE table, a trigger to increase the number of NBEMP of a COMPANY_STATS table by one. FIG. 12B illustrates an exemplary sentence of a statement defining, when the number of products in stock is less than MAX_STOCKED, a trigger to send an order sheet for additional components using a user-defined function (ISSUE_SHIP_REQUEST) to an order-receiver. In this way, the trigger function of DBMS allows an action to be generated in response to a status change in a database (insert, update or delete).
Meanwhile, as mechanism of letting a database client (hereinafter referred to as a DB client) detect such a status change in the database, a polling system is available, for example, which issues a SQL statement regularly to acquire data and checks whether or not insert, update or delete has been conducted with respect to the data. As another mechanism of detecting a status change in a database, an event notification system using external mechanism is available, which utilizes the trigger function of DBMS and a MQ (Message Queuing) function that provides a communication function among applications to detect a status change in a database (insert, update or delete) using a trigger of the database, and sends a message to a client by using the external MQ. An application-compatible system also is available, which enables a closer linkage among a plurality of applications that use a database so that an application that conducted insert, update or delete of data can notify another application that should execute the following action in response to the status change.